bd2ef46b13af6952c0fee445d485e90a024d0a39,src/main/java/com/gameminers/visage/slave/render/primitive/Primitive.java,Primitive,doRender,#Renderer#number#number#number[]#,22

Before Change


	protected void doRender(Renderer renderer, int vbo, int tcbo, float[] vertices) {
		glPushMatrix();
			Visage.log.finest("Rendering "+getClass().getSimpleName());
			Visage.log.finest("Translating to "+x+", "+y+", "+z);
			glTranslatef(x, y, z);
			Visage.log.finest("Rotating by "+rotX+"°, "+rotY+"°, "+rotZ+"°");
			glRotatef(rotX, 1.0f, 0.0f, 0.0f);
			glRotatef(rotY, 0.0f, 1.0f, 0.0f);
			glRotatef(rotZ, 0.0f, 0.0f, 1.0f);
			Visage.log.finest("Scaling by "+scaleX+"x, "+scaleY+"x, "+scaleZ+"x");
			glScalef(scaleX, scaleY*-1, scaleZ);
			if (!inStage && lit) {
				Visage.log.finest("Enabling lighting");
				glEnable(GL_LIGHTING);
				renderer.lightPosition.position(0);
				glLight(GL_LIGHT0, GL_POSITION, renderer.lightPosition);
			} else if (!inStage) {
				Visage.log.finest("Disabling lighting");
				glDisable(GL_LIGHTING);
			}
			if (textured) {
				Visage.log.finest("Enabling texturing - texture "+texture);
				glEnable(GL_TEXTURE_2D);
				glBindTexture(GL_TEXTURE_2D, texture == TextureType.SHADOW ? renderer.shadowTexture : renderer.texture);
			} else {

After Change


	public abstract void render(Renderer renderer);
	protected void doRender(Renderer renderer, int vbo, int tcbo, float[] vertices) {
		glPushMatrix();
			if (Visage.trace) Visage.log.finest("Rendering "+getClass().getSimpleName());
			if (Visage.trace) Visage.log.finest("Translating to "+x+", "+y+", "+z);
			glTranslatef(x, y, z);
			if (Visage.trace) Visage.log.finest("Rotating by "+rotX+"°, "+rotY+"°, "+rotZ+"°");
			glRotatef(rotX, 1.0f, 0.0f, 0.0f);
			glRotatef(rotY, 0.0f, 1.0f, 0.0f);
			glRotatef(rotZ, 0.0f, 0.0f, 1.0f);
			if (Visage.trace) Visage.log.finest("Scaling by "+scaleX+"x, "+scaleY+"x, "+scaleZ+"x");
			glScalef(scaleX, scaleY*-1, scaleZ);
			if (!inStage && lit) {
				if (Visage.trace) Visage.log.finest("Enabling lighting");
				glEnable(GL_LIGHTING);
				renderer.lightPosition.position(0);
				glLight(GL_LIGHT0, GL_POSITION, renderer.lightPosition);
			} else if (!inStage) {
				if (Visage.trace) Visage.log.finest("Disabling lighting");
				glDisable(GL_LIGHTING);
			}
			if (textured) {
				if (Visage.trace) Visage.log.finest("Enabling texturing - texture "+texture);
				glEnable(GL_TEXTURE_2D);
				glBindTexture(GL_TEXTURE_2D, texture == TextureType.SHADOW ? renderer.shadowTexture : renderer.texture);
			} else {
				if (Visage.trace) Visage.log.finest("Disabling texturing");
				glDisable(GL_TEXTURE_2D);
			}
			Util.checkGLError();
			
			if (Visage.trace) Visage.log.finest("Setting VBO");
    		glEnableClientState(GL_VERTEX_ARRAY);
    		glEnableClientState(GL_TEXTURE_COORD_ARRAY);
    		if (tcbo == Integer.MAX_VALUE) {
        		glBindBufferARB(GL_ARRAY_BUFFER_ARB, vbo);
    			glTexCoordPointer(2, GL_FLOAT, 20, 12);
    			glVertexPointer(3, GL_FLOAT, 20, 0);
    		} else {
    			glEnableClientState(GL_NORMAL_ARRAY);
    			glBindBufferARB(GL_ARRAY_BUFFER_ARB, tcbo);
    			glTexCoordPointer(2, GL_FLOAT, 0, 0);
    			glBindBufferARB(GL_ARRAY_BUFFER_ARB, vbo);
    			glVertexPointer(3, GL_FLOAT, 24, 0);
    			glNormalPointer(GL_FLOAT, 24, 12);
    		}
		    Util.checkGLError();
		    
		    if (Visage.trace) Visage.log.finest("Rendering");
		    if (tcbo == Integer.MAX_VALUE) {
		    	glDrawArrays(GL_QUADS, 0, vertices.length/5);
		    } else {